package main

import (
	"fmt"
	"math/rand"
	"time"
)

// 省份列表
var province = []string{
	"北京市", "天津市", "上海市", "重庆市", "黑龙江省", "吉林省", "辽宁省", "河北省", "河南省", "山东省", "山西省", "安徽省", "江西省", "江苏省", "浙江省", "福建省", "台湾省", "广东省",
	"湖南省", "湖北省", "海南省", "云南省", "贵州省", "四川省", "青海省", "甘肃省", "陕西省"}

// 地市列表
var city = [][]string{
	{"海淀区", "东城区", "西城区", "宣武区", "丰台区", "朝阳区", "崇文区", "大兴区", "石景山区", "门头沟区", "房山区", "通州区", "顺义区", "怀柔区", "昌平区", "平谷区", "密云县", "延庆县"},
	{"和平区", "河西区", "河北区", "河东区", "南开区", "红桥区", "北辰区", "津南区", "武清区", "塘沽区", "西青区", "汉沽区", "大港区", "宝坻区", "东丽区", "蓟县", "静海县", "宁河县"},
	{"黄浦区", "卢湾区", "徐汇区", "长宁区", "静安区", "普陀区", "闸北区", "杨浦区", "虹口区", "闵行区", "宝山区", "嘉定区", "浦东新区", "金山区", "松江区", "青浦区", "南汇区", "奉贤区", "崇明县"},
	{"渝中区", "大渡口区", "江北区", "沙坪坝区", "九龙坡区", "南岸区", "北碚区", "万盛区", "双桥区", "渝北区", "巴南区", "万州区", "涪陵区", "黔江区", "长寿区", "江津区", "永川区", "南川区", "綦江县", "潼南县", "铜梁县",
		"大足县", "荣昌县", "璧山县", "垫江县", "武隆县", "丰都县", "城口县", "梁平县", "开县", "巫溪县", "巫山县", "奉节县", "云阳县", "忠县"},
	{"哈尔滨市", "大庆市", "齐齐哈尔市", "佳木斯市", "鸡西市", "鹤岗市", "双鸭山市", "牡丹江市", "伊春市", "七台河市", "黑河市", "绥化市"},
	{"长春市", "吉林市", "四平市", "辽源市", "通化市", "白山市", "松原市", "白城"},
	{"沈阳市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "盘锦市", "铁岭市", "朝阳市", "葫芦岛"},
	{"石家庄市", "唐山市", "邯郸市", "秦皇岛市", "保定市", "张家口市", "承德市", "廊坊市", "沧州市", "衡水市", "邢台市"},
	{"郑州市", "洛阳市", "开封市", "漯河市", "安阳市", "新乡市", "周口市", "三门峡市", "焦作市", "平顶山市", "信阳市", "南阳市", "鹤壁市", "濮阳市", "许昌市", "商丘市", "驻马店"},
	{"济南市", "青岛市", "淄博市", "枣庄市", "东营市", "烟台市", "潍坊市", "济宁市", "泰安市", "威海市", "日照市", "莱芜市", "临沂市", "德州市", "聊城市", "菏泽市", "滨州市"},
	{"太原市", "大同市", "忻州市", "阳泉市", "长治市", "晋城市", "朔州市", "晋中市", "运城市", "临汾市", "吕梁市"},
	{"合肥市", "蚌埠市", "芜湖市", "淮南市", "亳州市", "阜阳市", "淮北市", "宿州市", "滁州市", "安庆市", "巢湖市", "马鞍山市", "宣城市", "黄山市", "池州市", "铜陵市"},
	{"南昌市", "九江市", "赣州市", "吉安市", "鹰潭市", "上饶市", "萍乡市", "景德镇市", "新余市", "宜春市", "抚州"},
	{"南京市", "镇江市", "常州市", "无锡市", "苏州市", "徐州市", "连云港市", "淮安市", "盐城市", "扬州市", "泰州市", "南通市", "宿迁市"},
	{"杭州市", "嘉兴市", "湖州市", "宁波市", "金华市", "温州市", "丽水市", "绍兴市", "衢州市", "舟山市", "台州市"},
	{"福州市", "厦门市", "泉州市", "三明市", "南平市", "漳州市", "莆田市", "宁德市", "龙岩"},
	{"台北市", "台中市", "基隆市", "高雄市", "台南市", "新竹市", "嘉义"},
	{"广州市", "深圳市", "汕头市", "惠州市", "珠海市", "揭阳市", "佛山市", "河源市", "阳江市", "茂名市", "湛江市", "梅州市", "肇庆市", "韶关市", "潮州市", "东莞市", "中山市", "清远市", "江门市", "汕尾市", "云浮"},
	{"长沙市", "株洲市", "湘潭市", "衡阳市", "岳阳市", "郴州市", "永州市", "邵阳市", "怀化市", "常德市", "益阳市", "张家界市", "娄底"},
	{"武汉市", "襄樊市", "宜昌市", "黄石市", "鄂州市", "随州市", "荆州市", "荆门市", "十堰市", "孝感市", "黄冈市", "咸宁"},
	{"海口", "三亚"},
	{"昆明市", "曲靖市", "玉溪市", "保山市", "昭通市", "丽江市", "普洱市", "临沧"},
	{"贵阳市", "六盘水市", "遵义市", "安顺"},
	{"成都市", "绵阳市", "德阳市", "广元市", "自贡市", "攀枝花市", "乐山市", "南充市", "内江市", "遂宁市", "广安市", "泸州市", "达州市", "眉山市", "宜宾市", "雅安市", "资阳"},
	{"西宁市"},
	{"兰州市", "天水市", "平凉市", "酒泉市", "嘉峪关市", "金昌市", "白银市", "武威市", "张掖市", "庆阳市", "定西市", "陇南"},
	{"西安市", "咸阳市", "铜川市", "延安市", "宝鸡市", "渭南市", "汉中市", "安康市", "商洛市", "榆林"},
}

var provinceLen = len(province)

func main() {
	for {
		fmt.Println(GetAddress())
	}
}

// 通过省份索引 确定从哪个省中取地市值
func GetAddress() string {
	rand.Seed(time.Now().UnixNano()) //设置随机数种子
	i := rand.Intn(provinceLen)      //获取随机省份索引
	var cityLen int = len(city[i])   //获取特定省有多少个地市
	return fmt.Sprintf("%s%s", province[i], city[i][rand.Intn(cityLen)])
}
